The International Organization for Standardization/International Electrotechnical Commission (ISO/IEC) Moving Picture Experts Group-4 (MPEG-4) Part 10 Advanced Video Coding (AVC) standard/International Telecommunication Union, Telecommunication Sector (ITU-T) H.264 recommendation (hereinafter the “MPEG-4 AVC standard”) provides a framework for 3D video coding through a Supplemental Enhancement Information (SEI) message referred to as a Stereo Video Information (SVI) SEI message, as shown in Table 5.
TABLE 5stereo_video_info( payloadSize ) {CDescriptorfield_views_flag5u(1)if( field_views_flag )top_field_is_left_view_flag5u(1)else {current_frame_is_left_view_flag5u(1)next_frame_is_second_view_flag5u(1)}left_view_self_contained_flag5u(1)right_view_self_contained_flag5u(1)}
The SVI SEI message provides the decoder with an indication that the entire coded video sequence includes pairs of pictures forming stereo-view content. Further, the SVI SEI message specifies whether the two views are arranged in field format or frame format and whether and which of those views have been coded independently. Under field format, each view of a given time instance is coded into each field of interlaced video frame. Under frame format, each alternative frame in the output order represents a view.
The MPEG-4 AVC Standard introduced additional high level syntax to partition each picture into slices. Additionally these slices can belong to different slice groups. These slice groups can have different slice group types. Multiple slice groups make it possible to map the sequence of coded macoblocks (MBs) to the decoded picture in a number of flexible ways. The allocation of macroblocks is determined by a macroblock to slice group map that indicates which slice group each macroblock belongs to. The MPEG-4 AVC Standard supports the following different slice group types: interleaved slice groups; dispersed slice group mapping; one or more “foreground” slice groups and a “leftover” slice group; changing slice groups; and explicit assignment of a slice group to each slice group map unit. This provides a lot of flexibility in how the different slices are coded. The primary purpose of slice groups can be considered to be error resiliency. Another application for slice groups is region of interest (ROI) coding.
The MPEG-4 AVC Standard also includes a SEI message that is used to specify the constraint of inter prediction over slice group boundaries. This can be useful for parallel processing.